"use strict";
cc._RF.push(module, '44c16rIXfxIPJYQtkNeln29', 'moveEnemy');
// script/game/boss/moveEnemy.ts

/*
 * @Author: ls
 * @Date: 2021-10-14 14:00:19
 * @LastEditTime: 2021-10-14 16:46:54
 * @LastEditors: Please set LastEditors
 * @Description: 敌人
 * @FilePath: \Alive-master\assets\script\game\boss\moveEnemy.ts
 */
Object.defineProperty(exports, "__esModule", { value: true });
var util_1 = require("../../util");
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
var MoveEnemy = /** @class */ (function (_super) {
    __extends(MoveEnemy, _super);
    function MoveEnemy() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        /** 移动方向 */
        _this._moveDir = cc.Vec2.ZERO;
        /** 移动速度 */
        _this._moveSpeed = 200;
        return _this;
    }
    MoveEnemy.prototype.start = function () {
        this.schedule(this.randomDir, 5, cc.macro.REPEAT_FOREVER, 4); // 4 秒后开始运动，每 5 秒随机新方向
    };
    /**
     * 随机方向
     */
    MoveEnemy.prototype.randomDir = function () {
        var dir = util_1.Util.randomDir(0, 360);
        this._moveDir.x = dir.x;
        this._moveDir.y = dir.y;
    };
    MoveEnemy.prototype.update = function (dt) {
        // 移动
        if (this._moveDir.x !== 0) {
            this.node.x += this._moveSpeed * this._moveDir.x * dt;
        }
        if (this._moveDir.y !== 0) {
            this.node.y += this._moveSpeed * this._moveDir.y * dt;
        }
        // 边界回弹
        if (this.node.x < -cc.winSize.width / 2)
            this._moveDir.x = this._moveDir.x > 0 ? this._moveDir.x : -this._moveDir.x;
        if (this.node.x > cc.winSize.width / 2)
            this._moveDir.x = this._moveDir.x < 0 ? this._moveDir.x : -this._moveDir.x;
        if (this.node.y > cc.winSize.height / 2)
            this._moveDir.y = this._moveDir.y < 0 ? this._moveDir.y : -this._moveDir.y;
        if (this.node.y < cc.winSize.height / 2 - 200)
            this._moveDir.y = this._moveDir.y > 0 ? this._moveDir.y : -this._moveDir.y;
    };
    MoveEnemy = __decorate([
        ccclass
    ], MoveEnemy);
    return MoveEnemy;
}(cc.Component));
exports.default = MoveEnemy;

cc._RF.pop();